-
Notifications
You must be signed in to change notification settings - Fork 4
Add GeoAI workshop notebook #30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Removed embedded Google Slides iframe from the AI integration module.
mfisher87
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, left a little nitpick :)
A few other notes:
- I started running this notebook in Colab about 30 minutes ago and it's still training. Are participants expected to run training during the workshop? How long do you expect it to take? What will they do while they wait?
- Can we run this on CryoCloud? There is a GPU option available. @tsnow03 just granted me access. I'll test this there as well. With GPUs available in CryoCloud, is it OK to run this Notebook there instead of Colab?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the environment setup instructions, what do you think of changing to install mamba first, then install the other dependencies in one command?
conda create -n geo -c conda-forge mamba
conda activate geo
mamba install -c conda-forge python=3.12 geoaiThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, participants can choose Colab, CryoCloud, or their own GPU machine. I will be using my own machine with 96 GB GPU for demo. Participants may not be able to run all sections with limited GPU. It is fine. This section is mostly for demonstration purpose only. It is unlikely to chain a good model in a few minutes to limited GPU.
|
Colab just notified me "Your session crashed after using all available RAM." 😭 |
OK sounds good then! I'd love to test if this works on CryoCloud so we can demo the Notebook in a familiar environment instead of introducing Colab, which may be unfamiliar to some. Have you tested it already? Does it need any new dependencies in the container environment? |
|
Yes, only the geoai package dependency is needed. mamba install -c conda-forge geoai "pytorch=*=cuda*" |
|
OK I'll add that to this PR and then the docker build tests will kick in. One moment, please ⌛ |
|
The conda package specification style |
|
It forces it to install the pytorch GPU version. Otherwise, some env might just the CPU version |
|
Installing pytorch is aways a tricky issue. I would not try to build it with GitHub actions. Just skip executing the notebook. Otherwise, it will take forever to run the notebook and build the website. |
|
We are currently not executing the Notebook. I'm trying to add pytorch to the Docker image we'll use on CryoCloud so you can execute this Notebook in CryoCloud instead of Colab on the day of the workshop. Any idea how we can fix this so the conda environment is solvable and we can build the Docker image? |
|
Try Python 3.12. Some pytorch GPU dependencies might not support Python 3.13 |
|
Tried that in 0f9617f, no luck :( |
|
Try the following sequence to track down which package dependencies cause the issue.
|
Thanks!
|
|
That means pytorch GPU version can't be installed in that docker image. Although geoai installs successfully, it only installs the pytorch CPU version. The docker image needs to have cuda installed before installing pytorch GPU. Here is the official docker images: https://hub.docker.com/r/pytorch/pytorch/tags I am not sure if it is worth your time to go through it. |
|
FWIW, I seem to have been able to install the GPU version of pytorch on the CryoCloud hub. import torch
print("CUDA available:", torch.cuda.is_available())
print("Number of GPUs:", torch.cuda.device_count())
if torch.cuda.is_available():
current = torch.cuda.current_device()
print("Current GPU:", torch.cuda.get_device_name(current)) |
|
🔍 Preview: https://geojupyter-workshop-open-source-geospatial--30.org.readthedocs.build/
Note: This Pull Request preview is provided by ReadTheDocs. Our production website, however, is currently deployed with GitHub Pages.